package it.blueocean.acanto.service.impl;

import it.blueocean.acanto.dao.GruppoDao;
import it.blueocean.acanto.model.Gruppo;
import it.blueocean.acanto.service.GruppoService;

import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

@Named("gruppoService")
public class GruppoServiceImpl implements GruppoService
{

	@Inject
	@Named("gruppoDao")
	private GruppoDao gruppoDao;
	
	@Override
	public void store(Gruppo gruppo)
	{
		gruppoDao.makePersistent(gruppo);
	}

	@Override
	public List<Gruppo> extractAll()
	{
		return gruppoDao.findAll();
	}

	@Override
	public Gruppo extractById(String id)
	{
		return gruppoDao.findById(id, false);
	}

	public List<Gruppo> paginatedList(int start, int limit)
	{
		return gruppoDao.paginatedResult(start, limit);
	}

	@Override
	public void delete(Gruppo gruppo)
	{
		gruppoDao.makeTransient(gruppo);
	}

	@Override
	public List<Gruppo> extractAll(String... eagerAttributes)
	{
		return gruppoDao.findAll(eagerAttributes);
	}

}
